﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Roguelike
{
    /// <summary>
    /// Abstract class that represents all Entities that can move around the map and fight
    /// </summary>
    public abstract class Mob : UpdatingEntity
    {
        public int attack { get; set; }
        public int hp     { get; set; }

        // Movement flags
        public List<moveFlag> moveTypes;

        /// <summary>
        /// Moves this mob one tile in the desired direction
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="direction"></param>
        public void Move(input direction)
        {
            Singleton<MovementManager>.instance.Move(this, direction);
        }

        // Returns a list of attack and HP right now, will make it actually do something later
        public abstract int[] Fight();
    }
}
